home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / pcboard / newflg51.zip / PUTDATA.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-01-25  |  3KB  |  236 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     String   TSTRING001(100)
  20.     String   TSTRING002(100)
  21.     String   STRING003
  22.     String   STRING004
  23.     String   STRING005
  24.     Int      INT001
  25.     Int      INT002
  26.     Int      INT003
  27.     Declare  Procedure PROC001()
  28.     Declare  Procedure PROC002()
  29.     Declare  Procedure PROC003()
  30.     Declare  Procedure PROC004()
  31.     Declare  Procedure PROC005()
  32.  
  33. ;------------------------------------------------------------------------------
  34.  
  35.     INT003 = 100
  36.     PROC002()
  37.     If (FlagCnt() > 1) Then
  38.         Print "Batch Transfer Ended."
  39.     Else
  40.         Print "Transfer Successful, @FIRST@."
  41.     Endif
  42.     PROC003()
  43.     PROC001()
  44.     PROC004()
  45.     End
  46.  
  47. ;------------------------------------------------------------------------------
  48.  
  49.     Procedure PROC001()
  50.  
  51.     If (PcbNode() == 0) Then
  52.         FOpen 1, "FLIST.", 0, 0
  53.     Else
  54.         FOpen 1, "FLIST." + String(PcbNode()), 0, 0
  55.     Endif
  56.     For INT001 = 1 To FlagCnt()
  57.         FSeek 1, -INT001 * 129, 2
  58.         FRead 1, STRING003, 60
  59.         STRING003 = Left(STRING003, 60)
  60.         STRING003 = RTrim(STRING003, " ")
  61.         PROC005()
  62.         If (TSTRING001(2) == INT003) Then
  63.             TSTRING001(2) = "1"
  64.             TSTRING001(22) = STRING003
  65.             Continue
  66.         Endif
  67.         TSTRING001(TSTRING001(2) + 2) = STRING003
  68.         INT002 = TSTRING001(2)
  69.         Inc INT002
  70.         TSTRING001(2) = INT002
  71.     Next
  72.     FClose 1
  73.  
  74.     EndProc
  75.  
  76.  
  77. ;------------------------------------------------------------------------------
  78.  
  79.     Procedure PROC002()
  80.  
  81.     If (Exist(PPEPath() + "FLAG" + String(CurConf()) + ".DBF")) Goto LABEL001
  82.     TSTRING002(1) = "Name,C,20,0"
  83.     TSTRING002(2) = "Lastnum,N,2,0"
  84.     For INT002 = 3 To INT003 + 2
  85.         TSTRING002(INT002) = "FILE" + String(INT002 - 2) + ",C,12,0"
  86.     Next
  87.     DCreate 1, PPEPath() + "FLAG" + String(CurConf()) + ".DBF", 0, TSTRING002(BOOLEAN000)
  88.     DAdd 1
  89.     DGo 1, 1
  90.     PROC004()
  91.     Goto LABEL002
  92.     :LABEL001
  93.     DOpen 1, PPEPath() + "FLAG" + String(CurConf()) + ".DBF", 0
  94.     :LABEL002
  95.     If (Exist(PPEPath() + "FLAG" + String(CurConf()) + ".NDX")) Goto LABEL003
  96.     DnCreate 1, PPEPath() + "FLAG" + String(CurConf()) + ".NDX", "Name"
  97.     Goto LABEL004
  98.     :LABEL003
  99.     DnOpen 1, PPEPath() + "FLAG" + String(CurConf()) + ".NDX"
  100.     :LABEL004
  101.     DGo 1, 1
  102.     If (DSeek(1, U_Name())) Goto LABEL005
  103.     DAdd 1
  104.     DGo 1, DRecCount(1)
  105.     DPut 1, "Name", U_Name()
  106.     DPut 1, "Lastnum", "1"
  107.     Goto LABEL006
  108.     :LABEL005
  109.     DSeek 1, U_Name()
  110.     PROC003()
  111.     :LABEL006
  112.  
  113.     EndProc
  114.  
  115.  
  116. ;------------------------------------------------------------------------------
  117.  
  118.     Procedure PROC003()
  119.  
  120.     DGet 1, "Name", TSTRING001(1)
  121.     DGet 1, "Lastnum", TSTRING001(2)
  122.     For INT002 = 1 To INT003
  123.         DGet 1, "FILE" + String(INT002), TSTRING001(INT002 + 2)
  124.         TSTRING001(INT002 + 2) = RTrim(TSTRING001(INT002 + 2), " ")
  125.         If (TSTRING001(INT002 + 2) == "") INT002 = INT003
  126.     Next
  127.  
  128.     EndProc
  129.  
  130.  
  131. ;------------------------------------------------------------------------------
  132.  
  133.     Procedure PROC004()
  134.  
  135.     DPut 1, "Name", TSTRING001(1)
  136.     DPut 1, "Lastnum", TSTRING001(2)
  137.     For INT002 = 1 To INT003
  138.         DPut 1, "FILE" + String(INT002), TSTRING001(INT002 + 2)
  139.     Next
  140.  
  141.     EndProc
  142.  
  143.  
  144. ;------------------------------------------------------------------------------
  145.  
  146.     Procedure PROC005()
  147.  
  148.     STRING004 = ""
  149.     STRING005 = ""
  150.     INT002 = 0
  151.     While ((STRING005 <> "\") && (Len(STRING004) < Len(STRING003))) Do
  152.         Inc INT002
  153.         STRING004 = Right(STRING003, INT002)
  154.         STRING005 = Left(STRING004, 1)
  155.     EndWhile
  156.     STRING003 = Strip(STRING004, " ")
  157.     STRING003 = Strip(STRING003, "\")
  158.  
  159.     EndProc
  160.  
  161.  
  162. ;------------------------------------------------------------------------------
  163. ;
  164. ; Usage report (before postprocessing)
  165. ;
  166. ; ■ Statements used :
  167. ;
  168. ;    1       End
  169. ;    23      Goto 
  170. ;    28      Let 
  171. ;    2       Print 
  172. ;    12      If 
  173. ;    2       FOpen 
  174. ;    1       FClose 
  175. ;    2       Inc 
  176. ;    1       FSeek 
  177. ;    1       FRead 
  178. ;    5       EndProc
  179. ;    1       DCreate 
  180. ;    1       DOpen 
  181. ;    1       DnCreate 
  182. ;    1       DnOpen 
  183. ;    2       DAdd 
  184. ;    3       DGo 
  185. ;    1       DSeek 
  186. ;    3       DGet 
  187. ;    5       DPut 
  188. ;
  189. ;
  190. ; ■ Functions used :
  191. ;
  192. ;    1       -
  193. ;    1       *
  194. ;    35      +
  195. ;    1       -
  196. ;    3       ==
  197. ;    1       <>
  198. ;    5       <
  199. ;    4       <=
  200. ;    1       >
  201. ;    8       >=
  202. ;    11      !
  203. ;    9       &&
  204. ;    4       ||
  205. ;    2       Len(
  206. ;    2       Left()
  207. ;    1       Right()
  208. ;    2       RTrim()
  209. ;    3       U_Name()
  210. ;    2       Strip()
  211. ;    10      String()
  212. ;    6       CurConf()
  213. ;    6       PPEPath()
  214. ;    2       PcbNode()
  215. ;    2       Exist()
  216. ;    3       FlagCnt()
  217. ;    1       DRecCount()
  218. ;    1       DSeek()
  219. ;
  220. ;------------------------------------------------------------------------------
  221. ;
  222. ; Analysis flags : No flag
  223. ;
  224. ;------------------------------------------------------------------------------
  225. ;
  226. ; Postprocessing report
  227. ;
  228. ;    4       For/Next
  229. ;    1       While/EndWhile
  230. ;    3       If/Then or If/Then/Else
  231. ;    0       Select Case
  232. ;
  233. ;------------------------------------------------------------------------------
  234. ;                 AEGiS Corp - Break the routines, code against the machines!
  235. ;------------------------------------------------------------------------------
  236.